docs: add Salesforce Hosted MCP Server setup guide [PLT-2845] - #1122
Conversation
Adds a provider-specific subpage under guides/mcp-gateways/add-remote-servers covering the Arcade-side OAuth2 configuration for connecting a Salesforce Hosted MCP Server, plus the handful of Salesforce External Client App settings (mcp_api scope, JWT-based access tokens, PKCE) that commonly cause a valid-looking setup to fail. Links out to Salesforce's own docs for creating and activating the server and the ECA rather than duplicating that content. This is the first provider-specific subpage under add-remote-servers, which is otherwise fully generic — see PLT-2845 for the open question of whether this pattern (and this content) belongs in the docs at all yet. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
The field needs the full well-known OpenID configuration URL, not the bare My Domain root as previously written — confirmed against the actual dashboard field.
evantahler
left a comment
There was a problem hiding this comment.
I really like this pattern! I'm also sure that something is better than nothing in this regard, so addressing my nits are optional.
| <Callout type="info"> | ||
| This guide is about connecting to a Salesforce Hosted MCP Server. If you're | ||
| looking to call Salesforce APIs from your own tools instead, see the | ||
| [Salesforce auth provider](/references/auth-providers/salesforce) guide. |
There was a problem hiding this comment.
probably should link to our toolkit vs the auth-provider
There was a problem hiding this comment.
Done — now links to the Arcade Salesforce toolkit instead.
| <Callout type="warning"> | ||
| Don't refresh the Arcade dashboard while an authorization prompt is open. | ||
| Refreshing mid-flow can leave a stale, incomplete authorization behind | ||
| instead of cleanly restarting it. If a connection seems stuck, close the | ||
| prompt, reload the page, and start a single fresh attempt. | ||
| </Callout> |
There was a problem hiding this comment.
This should probably be a more general warning on the MCP gateway page vs every remote-MCP page
There was a problem hiding this comment.
Moved it to add-remote-servers/page.mdx's "Save and confirm the connection" step — it's generic dashboard behavior, not Salesforce-specific.
- Link to the Arcade Salesforce toolkit instead of the auth-provider page when a reader wants to call Salesforce APIs from their own tools (Evan). - Move the "don't refresh mid-flow" warning to the generic add-remote-servers guide — it's Arcade dashboard behavior, not Salesforce-specific (Evan). - Add an explicit warning that the authorization prompt's scope picker lists every scope the org's discovery document supports, not just what the ECA grants, and that leaving an unmatched scope selected fails authorization outright (not just later tool calls).
Resolves conflicts from the build/operate docs restructure (main) merging into this branch: the parent add-remote-servers guide and the new Salesforce subpage both moved from guides/mcp-gateways/add-remote-servers to operate/governance/mcp-gateways/add-remote-servers. Updates the two internal links left pointing at the old path, and takes main's bot-regenerated public/llms.txt as-is (regeneration requires an OpenAI key not available here).
Summary
Adds a new provider-specific subpage under
guides/mcp-gateways/add-remote-serverscovering the setup for connecting a Salesforce Hosted MCP Server to Arcade, discovered while reproducing this integration end-to-end formonorepo#2800(PLT-2834).Content is scoped to what's genuinely Arcade-specific or missing from Salesforce's own docs:
mcp_apiscope, JWT-based access tokens, PKCE), framed around the actual error messages you get if you miss themIt deliberately does not duplicate Salesforce's own walkthrough for creating/activating the MCP server or the External Client App — it links out to their docs for that instead.
Open question — opening as a draft on purpose
This is the first provider-specific subpage under
add-remote-servers, which is otherwise fully generic (uses Render's MCP server as its only example). There's no existing precedent for this pattern in the docs. Worth a docs-team call on:Putting this up as a draft to get that discussion started against real content rather than a hypothetical.
Checks run locally
pnpm lint— cleanpnpm build— succeeds, new route/en/guides/mcp-gateways/add-remote-servers/salesforcegeneratedpnpm vitest run tests/internal-link-check.test.ts tests/broken-link-check.test.ts— passvale— 0 errors (remaining warnings/suggestions are the same categories already present and accepted across existing pages, e.g.references/auth-providers/salesforce,references/auth-providers/cisco-duo)🤖 Generated with Claude Code
Note
Low Risk
Documentation-only changes with no runtime or auth logic; risk is limited to doc accuracy and navigation links.
Overview
Introduces the first provider-specific subpage under Add remote MCP servers, with nav via new
_meta.tsx(Overview + Salesforce).The Salesforce guide documents Arcade dashboard OAuth setup and External Client App settings that are easy to misconfigure (
mcp_api, JWT tokens, PKCE, OpenID discovery URL, scope picker vs ECA grants), plus troubleshooting tied to common errors. It links to Salesforce for server/ECA creation rather than duplicating those steps, and distinguishes Hosted MCP from the Arcade Salesforce toolkit.The parent remote-servers guide adds a warning not to refresh the dashboard during OAuth, and a pointer to the Salesforce walkthrough for non-generic setup.
public/llms.txtis regenerated to include the new doc route.Reviewed by Cursor Bugbot for commit 5ae8d1e. Bugbot is set up for automated code reviews on this repo. Configure here.